package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 示账户变更的明细记录对象 t_account_detail
 * 
 * @author ruoyi
 * @date 2022-03-17
 */
public class TAccountDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 资金账户明细 */
    private Long aid;

    /** 交易记录类型：收入、支出、转移 */
    @Excel(name = "交易记录类型：收入、支出、转移")
    private String dtype;

    /** 支出金额 */
    @Excel(name = "支出金额")
    private BigDecimal outmoney;

    /** 收入金额 */
    @Excel(name = "收入金额")
    private BigDecimal inmoney;

    /** 账户余额 */
    @Excel(name = "账户余额")
    private BigDecimal balance;

    /** 备注 */
    @Excel(name = "备注")
    private String comment;

    /** 支出/收入/转移原因 */
    @Excel(name = "支出/收入/转移原因")
    private Long ofReason;

    /** 凭证日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "凭证日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date proofDate;

    /** 对象 */
    @Excel(name = "对象")
    private String object;

    /** 标签 */
    @Excel(name = "标签")
    private String tag;

    /** 附件 */
    @Excel(name = "附件")
    private String attachment;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long ofAccount;

    /** 是否被删除：0没有，1被删除 */
    @Excel(name = "是否被删除：0没有，1被删除")
    private Long deleted;

    /** 支出的所属设备 */
    @Excel(name = "支出的所属设备")
    private Long ofDevice;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Date transactionDate;
    private Date[] transactionDate1;

    private Date TD1;

    private Date TD2;

    private String createtime;

    private Long ofCompany;

    public Long getOfCompany() {
        return ofCompany;
    }

    public void setOfCompany(Long ofCompany) {
        this.ofCompany = ofCompany;
    }

    public Date[] getTransactionDate1() {
        return transactionDate1;
    }

    public void setTransactionDate1(Date[] transactionDate1) {
        this.transactionDate1 = transactionDate1;
    }

    public Date getTD1() {
        return TD1;
    }

    public void setTD1(Date TD1) {
        this.TD1 = TD1;
    }

    public Date getTD2() {
        return TD2;
    }

    public void setTD2(Date TD2) {
        this.TD2 = TD2;
    }

    public String getCreatetime() {
        return createtime;
    }

    public void setCreatetime(String createtime) {
        this.createtime = createtime;
    }

    public void setAid(Long aid)
    {
        this.aid = aid;
    }

    public Long getAid() 
    {
        return aid;
    }
    public void setDtype(String dtype) 
    {
        this.dtype = dtype;
    }

    public String getDtype() 
    {
        return dtype;
    }
    public void setOutmoney(BigDecimal outmoney) 
    {
        this.outmoney = outmoney;
    }

    public BigDecimal getOutmoney() 
    {
        return outmoney;
    }
    public void setInmoney(BigDecimal inmoney) 
    {
        this.inmoney = inmoney;
    }

    public BigDecimal getInmoney() 
    {
        return inmoney;
    }
    public void setBalance(BigDecimal balance) 
    {
        this.balance = balance;
    }

    public BigDecimal getBalance() 
    {
        return balance;
    }
    public void setComment(String comment) 
    {
        this.comment = comment;
    }

    public String getComment() 
    {
        return comment;
    }
    public void setOfReason(Long ofReason) 
    {
        this.ofReason = ofReason;
    }

    public Long getOfReason() 
    {
        return ofReason;
    }
    public void setProofDate(Date proofDate) 
    {
        this.proofDate = proofDate;
    }

    public Date getProofDate() 
    {
        return proofDate;
    }
    public void setObject(String object) 
    {
        this.object = object;
    }

    public String getObject() 
    {
        return object;
    }
    public void setTag(String tag) 
    {
        this.tag = tag;
    }

    public String getTag() 
    {
        return tag;
    }
    public void setAttachment(String attachment) 
    {
        this.attachment = attachment;
    }

    public String getAttachment() 
    {
        return attachment;
    }
    public void setOfAccount(Long ofAccount) 
    {
        this.ofAccount = ofAccount;
    }

    public Long getOfAccount() 
    {
        return ofAccount;
    }
    public void setDeleted(Long deleted) 
    {
        this.deleted = deleted;
    }

    public Long getDeleted() 
    {
        return deleted;
    }
    public void setOfDevice(Long ofDevice) 
    {
        this.ofDevice = ofDevice;
    }

    public Long getOfDevice() 
    {
        return ofDevice;
    }
    public void setTransactionDate(Date transactionDate) 
    {
        this.transactionDate = transactionDate;
    }

    public Date getTransactionDate() 
    {
        return transactionDate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("aid", getAid())
            .append("dtype", getDtype())
            .append("outmoney", getOutmoney())
            .append("inmoney", getInmoney())
            .append("balance", getBalance())
            .append("comment", getComment())
            .append("ofReason", getOfReason())
            .append("proofDate", getProofDate())
            .append("object", getObject())
            .append("tag", getTag())
            .append("attachment", getAttachment())
            .append("ofAccount", getOfAccount())
            .append("deleted", getDeleted())
            .append("ofDevice", getOfDevice())
            .append("transactionDate", getTransactionDate())
            .toString();
    }
}
